package testy.karo;

import static org.junit.Assert.*;

import javax.swing.JOptionPane;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import baduga.client.Controler;
import baduga.karo.CreateNewTable;
import baduga.karo.TableListScreen;

public class Test__CreateNewTable {
	
	
	Controler contr;
	CreateNewTable objCT;

	@Before
	public void setUp() throws Exception {
		contr = new Controler();
	}

	@After
	public void tearDown() throws Exception {
		objCT = null;
		contr = null;
	}

	
	@Test
	/**
	 * Inicjalizacja
	 * 
	 */
	public final void testCreateNewTable() {

		JOptionPane.showMessageDialog(null,
			    "Proszę w następnym komunikacie potwierdzić, czy wyświetliło się okno kreatora stołu",
			    "Komunikat",
			    JOptionPane.ERROR_MESSAGE);
		
		

		        	
					objCT  = new CreateNewTable(contr);
		        	
					objCT.setVisible(true);
		        	

		
		    		synchronized (this) {
		    			try {
		    				wait(1500);
		    			} catch (InterruptedException e) {
		    				System.out.println("Błąd: " + e.getLocalizedMessage());
		    				
		    				fail("Wątek przerwany.");
		    			}
		    		}
		    		
		    		objCT.dispose();

		

		
		final int result = JOptionPane.showConfirmDialog(
			null,
			"Proszę potwierdzić uruchomienie się okna kreatora stołów",
			"Komunikat",
			JOptionPane.YES_NO_OPTION);
		
		
		assertEquals("Sprawdzenie czy okno z lista się uruchamia: ", 0, result);
		
	}



	/**
	 * Sprawdzamy czy kontroler po inicjalizacji nie jest nullpointerem
	 * 
	 */
	@Test
	public final void testGetControler() {
		objCT  = new CreateNewTable(contr);
		objCT.dispose();
		
		assertNotEquals("Test zwrotki kontrolera - ", null, objCT.getControler());
	}

}
